Resource allocation is utilized in a number of applications and is typically employed to assign available resources in a cost effective manner. Resource allocation may be determined utilizing, for example, algorithms and computer programs applied to a specific domain to automatically and dynamically distribute resources. Resource allocation is useful in a number of areas including, for example, service sharing, shared hosting platforms, and project management.
The project management domain involves the planning, organizing, and securing of resources in order to successfully complete specific project goals and objectives. In project management, resource allocation typically includes the scheduling of activities and resources required while taking into consideration both the resource availability and the project time. Resource allocation can thus involve the use of a large number of algorithmic solutions to allocate problems.
Demand patterns, however, may undergo permanent or seasonal variations in demand during the life cycle of a process due to changes in, for example, customer and user requirements. Additionally, changes in the execution speed of particular processes may result as process operators become more proficient at their tasks or begin performing new types of tasks. As a consequence, a process may move into a state of sub-optimal performance. Such changes can render the initial resource allocation of project sub-optimal, which can result in below-par performance of the intended process. The actual number of resources required may be higher or lower than the number initially allocated as a part of the project management process.
Conventional models for allocating resources include, for example, an even resource distribution, a highest priority first, a shortest job first, and a first come first serve. Such resource allocation models either focus on a system “fairness” or system throughput measurement. The “fairness” measure (e.g., a fairness index) can be calculated utilizing Jain's fairness index and a max-min ratio. The Jain's fairness index is only efficient for a homogenous user demand (i.e., user having similar demand and equal priority). The max-min ratio mechanism does not lead to precise evaluation of the fairness measure because it considers only the maximum and minimum allocations while computing the fairness measure.
For example, the even resource distribution approach is only efficient for the homogenous user demand so that the resources can be allocated evenly. The fairness measure of the even resource distribution allocation can be computed utilizing the Jain's fairness index as indicated in equation (1) as follows:
                              f          ⁡                      (            x            )                          =                                            [                                                ∑                                      i                    =                    1                                    n                                ⁢                                  x                  i                                            ]                        2                                              ∑                              i                =                1                            n                        ⁢                          x              i              2                                                          (        1        )            
According to the definition of the Jain's fairness index f(x) ∈ [0,1], where value of 0 implies least fair and value of 1 implies maximum fair. Such fairness model can be applied to the user having similar demand and doesn't yield high system throughput. The highest priority first approach offers a high throughput solution, however, it is not fair in cases where R<<D where R represents total available resources and D is the total demand of all the users. Similarly, the shortest job first approach and the first come first serve algorithm offers partially efficient solutions which are either fair or yield high throughput. Additionally, such prior art models either utilize a price negotiation or a demand negotiation based on single variable such as, for example, number of resources.
Based on the foregoing, it is believed that a need exists for an improved system and method for dynamically allocating resources based on multiphase negotiation mechanism, as will be described in greater detail herein.